//
//  AppDelegate.swift
//  微博
//
//  Created by tong dan on 16/2/29.
//  Copyright © 2016年 tong dan. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
       print(NSBundle.mainBundle().infoDictionary)
        //1.初始化Window
        
        //2.设置跟控制器
//        window?.rootViewController = TDNewfeatureViewController()
        
        
        /** 首先判断是否登录
        - 没有登录:直接跳转到首页
        - 有登录: 做判断是否有新版本的逻辑
        */
        
  

        window?.rootViewController = hasNewVersion() ? TDNewfeatureViewController() : TDWelconmeViewController()
        
        
        
        //3.显示控制器
        window?.makeKeyAndVisible()
        
        //注册通知
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "switchRootVC:", name: TDSwitchRootVCNotification, object: nil)
        
        return true
    }

    //切换根控制器的触发方法
    @objc private func switchRootVC(noti:NSNotification){
    
        if noti.object != nil {
        
       // 取到通知里面的 obj 如果不为 nil,就代表 OAuth 发的,直接跳转欢迎页

        window?.rootViewController = TDWelconmeViewController()
        }else{
        
        window?.rootViewController = TDMainViewController()
        
        }
    
    }
    

    //判断是否有新版本
    func defaultViewControl()-> UIViewController {
        
        if hasNewVersion() {
            
            return TDNewfeatureViewController()
            
        }else{
            
            return TDWelconmeViewController()
            
        }
        
        
    }
    
    
    //  判断是否有hasNewVersion
    func hasNewVersion()-> Bool {
        
        let versionKey = "version"
        
        //获取当前应用版本号
        let currentVersion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"]! as! String
        
        //获取沙盒中的版本号(如果沙盒中没有版本号的话，就代表第一次使用，直接返回true)
        let sanboxVersion = NSUserDefaults.standardUserDefaults().stringForKey(versionKey)
        
        //判断两个版本号是否相同, 如果当前版本号与沙盒版本号相同，就代表不是新版本
        if currentVersion == sanboxVersion {
            
            return false
        }
        
        //保存到沙盒中
        NSUserDefaults.standardUserDefaults().setObject(currentVersion, forKey: versionKey)
        
        
        return true
        
    }
    

    
    deinit {
    
    
    NSNotificationCenter.defaultCenter().removeObserver(self)
    }


}

